package com.yingma.system.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yingma.system.entity.JcVehicle;
import com.yingma.system.dao.JcVehicleDao;
import com.yingma.system.service.JcVehicleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Service;
import redis.clients.jedis.JedisPool;

import javax.annotation.Resource;
import java.util.List;

/**
 * (JcVehicle)表服务实现类
 *
 * @author makejava
 * @since 2020-03-30 19:40:18
 */
@Service("jcVehicleService")
public class JcVehicleServiceImpl implements JcVehicleService {
    @Resource
    private JcVehicleDao jcVehicleDao;

    /**
     * 通过ID查询单条数据
     * @param id 主键
     * @return 实例对象
     */
    @Override
    public JcVehicle queryById(String id) {
        return null;
    }

    /**
     * 查询多条数据
     * @param offset 查询起始位置
     * @param limit 查询条数
     * @return 对象列表
     */
    @Override
    public List<JcVehicle> queryAllByLimit(int offset, int limit) {
        return null;
    }

    /**
     * 新增数据
     * @param jcVehicle 实例对象
     * @return 实例对象
     */
    @Override
    public JcVehicle insert(JcVehicle jcVehicle) {

        return null;
    }

    /**
     * 修改数据
     * @param jcVehicle 实例对象
     * @return 实例对象
     */
    @Override
    public JcVehicle update(JcVehicle jcVehicle) {
        return null;
    }

    /**
     * 通过主键删除数据
     * @param id 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(String id) {
        return false;
    }

    /**
     * 根据条件查询车型
     * @param code
     * @param status
     * @param pageNum
     * @param PageSize
     * @return
     */
    @Override
    public List<JcVehicle> queryBy(String code, Integer status, Integer pageNum, Integer PageSize) {
        List<JcVehicle> list=null;
        QueryWrapper<JcVehicle> queryWrapper=new QueryWrapper<JcVehicle>();
        if(!code.equals("")&&code!=""){
            queryWrapper.like("CODE",code);
        }
        if(status!=null){
            queryWrapper.eq("STATUS",status);
        }
        Page<JcVehicle> page=new Page<>(pageNum,PageSize,true);
        IPage<JcVehicle> iPages=jcVehicleDao.selectPage(page,queryWrapper);
        list=iPages.getRecords();
        if(list.size()>0){
            list.get(0).setTotalpageNum(new Long(iPages.getPages()).intValue());
            list.get(0).setTotalSize(new Long(iPages.getTotal()).intValue());
        }
        return list;
    }
}
